package cn.xxi.ai.application.entity;

import cn.xxi.ai.application.constant.ConversationType;
import cn.xxi.ai.common.entity.BaseEntity;
import cn.xxi.ai.workflow.entity.Workflow;
import lombok.*;

/**
 * Conversation 实体 - 对话记录
 * 包含会话类型、绑定的智能体、配置、覆盖配置、名称、工作流、记忆等信息。
 * 继承 BaseEntity 提供基础主键信息。
 * 
 * @author yangzhen
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
public class Conversation extends BaseEntity {

    /** 会话类型 */
    private ConversationType type;

    /** 所属智能体 */
    private Agent agent;

    /** 智能体配置 */
    private AgentConfig agentConfig;

    /** 智能体覆盖配置（JSON字段） */
    private String overrideAgentConfigJson;

    /** 绑定工作流 */
    private Workflow workflow;

    /** 对话名称（可选） */
    private String name;

    /** 对话记忆（可选，JSON字符串） */
    private String memory;
}